$ ()->
  $('.multi-inputs').each ()->
    initMultiInputs $(@)

initMultiInputs = (container)->
  container.children('.multi-input').each ()->
    add = $ '<a href="javascript:void(0)" class="btn add">+</a>'
    add
      .appendTo @
      .click ()->
        c = $(@).parent().clone true
        $(@).parent().after c
        
        hdnId = c.find('input[type=hidden]').eq 0
        if hdnId.length>0 && hdnId.attr('name').match(/\[id\]$/)
          hdnId.val ''

        multiInputsIds $(@).parent().parent()
        
        c.find('.datepicker').datepicker 'destroy'
        c.find('.datepicker').datepicker()

    del = $ '<a href="javascript:void(0)" class="btn del">-</a>'
    del
      .appendTo @
      .click ()->
        $(@).parent().remove()
        multiInputsIds $(@).parent().parent()

multiInputsIds = (container)->
  container.children('.multi-input').each (index)->
    $(@).find('input,select,textarea').each ()->
      name = $(@).attr 'name'
      if name.match(/\[\d+\]/)
        $(@).attr 'name', name.replace(/\[\d+\]/, '['+index+']')
      
      id = $(@).attr 'id'
      if id && id.match(/\d+/)
        $(@).attr 'id', id.replace(/\d+/, index)
    
    $(@).find('label').each ()->
      attrFor = $(@).attr 'for'
      if attrFor
        $(@).attr 'for', attrFor.replace(/\d+/, index)